1. Field of the Invention
The present invention relates to a data processing method for a database management system of a parallel server configuration, and more particularly to a method of substituting for a database process when a failure occurs.
2. Description of the Related Art
Non-stop business requiring a system operation of 24 hours 365 days needs a high availability database management as data infrastructure which can support such business. There is the tendency that an amount of data processed in business increases, and a system scalability capable of dealing with an increase in business amount and data amount is an important issue of a database management system.
Techniques called system takeover have been used as a means for improving the availability of a database management system. System takeover is the techniques that when a machine fails, its process is substituted by another machine to continue services and shorten a service stop time due to the failure.
In a database management system adopting the system takeover, a machine to be substituted when a failure occurs is defined for each machine under execution of a process. An execution environment of a machine executing a process is called an execution system, and an execution environment of a machine to be substituted is called a standby system. An execution environment which is the active system when a system starts, is called an active system, and an execution environment which is the standby system when a system starts, is called a reserved system. In a system adopting the system takeover, when a system takeover function detects a failure of the execution system, the system takeover to the standby system starts. As the system takeover starts, resources of the execution system such as disks storing a database and addresses of networks are switched to the standby system. Upon completion of switching the resources, the standby system starts receiving database services inherited from the execution system to complete the system takeover. At this stage, the execution environment which was the standby system before the takeover becomes the execution system.
These techniques are described in “TRANSACTION PROCESSING: CONCEPTS AND TECHNIQUES”, Jim Gray and Andreas Reuter, Morgan Kaufmann Publishers, 1993.
If importance is attached to scalability of a database management system, the system is configured by a plurality of servers and the servers process data in parallel. As a parallel processing architecture to be adopted in this case, a shared-nothing architecture is known.
In the shared-nothing architecture, servers will not share CPUs, disks and caches of a parallel server configuration system. Data is divided into logical segments which are stored in exclusive DB storage areas, and each DB storage area is allowed to be accessed only by a corresponding server. With this architecture, there is no resource contention between servers so that each server can execute a process such as a search and update simultaneously and a process performance matching the number of servers can be realized. As a consequence, business transactions can be performed smoothly even if the amount of businesses and data increases.
These techniques are described in “Parallel Database Systems: the Future of Database Processing or a Passing Fad?”, David Dewitt and Jim Gray, SIGMOD Record, Vol. 19, No. 4, pp. 104-112, 1990.
Also in a system adopting the shared-nothing architecture, the system takeover techniques are often used in order to provide high availability.
For the system takeover, the execution system and standby system are generally defined for each DB processing server. The running state of each DB processing server is surveyed and the system takeover to the standby system is performed when necessary. Namely, the system takeover is performed in the unit of DB processing server. The standby system of each DB processing server is often the same machine as that of the execution system of another DB processing server. In this case, the machine as the standby system executes a twofold of a normal process after the system changeover.
“Implementing IBM DB2 Universal Database V8.1 Enterprise Server Edition with Microsoft Cluster Server”, Aslam Nomani, International Business Machines Corporation, 2003 discloses a system takeover method (load balanced type system takeover) using a DB storage area as a takeover unit in a database management system disposing a plurality of DB storage areas in each machine. The execution system and standby system are defined for each DB storage area. In a normal state, the execution system accesses the DB storage area, and when a failure occurs, the standby system accesses the DB storage area to continue services.
With this method, a plurality of DB storage areas belonging to the same machine are distributed to different machines to define the standby system. When a failure occurs in one machine, a plurality of DB storage areas belonging to the machine are inherited to different machines. It is therefore possible to distribute a process execution load after the system takeover to a plurality of machines and alleviate a low throughput of the whole system.